<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>OpenLoong Dynamics Control: WBC_priority Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">OpenLoong Dynamics Control
   &#160;<span id="projectnumber">v0.1.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="classWBC__priority-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">WBC_priority Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>This class implements a whole body controller with priority control.  
 <a href="classWBC__priority.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="wbc__priority_8h_source.html">wbc_priority.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for WBC_priority:</div>
<div class="dyncontent">
<div class="center"><img src="classWBC__priority__coll__graph.png" border="0" usemap="#WBC__priority_coll__map" alt="Collaboration graph"/></div>
<map name="WBC__priority_coll__map" id="WBC__priority_coll__map">
<area shape="rect" title="This class implements a whole body controller with priority control." alt="" coords="5,95,112,121"/>
<area shape="rect" href="classPriorityTasks.html" title=" " alt="" coords="6,5,111,32"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a8c838694a7fa3038bb56923679050bea"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a8c838694a7fa3038bb56923679050bea">WBC_priority</a> (int model_nv_In, int QP_nvIn, int QP_ncIn, double miu_In, double dt)</td></tr>
<tr class="memdesc:a8c838694a7fa3038bb56923679050bea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a new wbc priority object.  <a href="classWBC__priority.html#a8c838694a7fa3038bb56923679050bea">More...</a><br /></td></tr>
<tr class="separator:a8c838694a7fa3038bb56923679050bea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7a8bfff2aa05dcedeb6e3e656d3c6fd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#ad7a8bfff2aa05dcedeb6e3e656d3c6fd">setQini</a> (const Eigen::VectorXd &amp;qIni)</td></tr>
<tr class="memdesc:ad7a8bfff2aa05dcedeb6e3e656d3c6fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the initial generalized position of robot.  <a href="classWBC__priority.html#ad7a8bfff2aa05dcedeb6e3e656d3c6fd">More...</a><br /></td></tr>
<tr class="separator:ad7a8bfff2aa05dcedeb6e3e656d3c6fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf9a6a3385417332666e2157b6903fe9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#adf9a6a3385417332666e2157b6903fe9">computeTau</a> ()</td></tr>
<tr class="memdesc:adf9a6a3385417332666e2157b6903fe9"><td class="mdescLeft">&#160;</td><td class="mdescRight">compute the desired joint torques, basically the DynWBC  <a href="classWBC__priority.html#adf9a6a3385417332666e2157b6903fe9">More...</a><br /></td></tr>
<tr class="separator:adf9a6a3385417332666e2157b6903fe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ed27e44e3d0044570620d3679f26389"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a7ed27e44e3d0044570620d3679f26389">dataBusRead</a> (const <a class="el" href="structDataBus.html">DataBus</a> &amp;robotState)</td></tr>
<tr class="memdesc:a7ed27e44e3d0044570620d3679f26389"><td class="mdescLeft">&#160;</td><td class="mdescRight">read data from databus  <a href="classWBC__priority.html#a7ed27e44e3d0044570620d3679f26389">More...</a><br /></td></tr>
<tr class="separator:a7ed27e44e3d0044570620d3679f26389"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1504c45533bea5c9b6a4a87648db0c0c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a1504c45533bea5c9b6a4a87648db0c0c">dataBusWrite</a> (<a class="el" href="structDataBus.html">DataBus</a> &amp;robotState)</td></tr>
<tr class="memdesc:a1504c45533bea5c9b6a4a87648db0c0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">write data to databus  <a href="classWBC__priority.html#a1504c45533bea5c9b6a4a87648db0c0c">More...</a><br /></td></tr>
<tr class="separator:a1504c45533bea5c9b6a4a87648db0c0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cb65e689671b04b1b4bca685602abaa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a7cb65e689671b04b1b4bca685602abaa">computeDdq</a> (<a class="el" href="classPin__KinDyn.html">Pin_KinDyn</a> &amp;kinSolver)</td></tr>
<tr class="memdesc:a7cb65e689671b04b1b4bca685602abaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">compute the desired dq, basically the KinWBC  <a href="classWBC__priority.html#a7cb65e689671b04b1b4bca685602abaa">More...</a><br /></td></tr>
<tr class="separator:a7cb65e689671b04b1b4bca685602abaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a63e9d9ee61900d1c7e6c7d0e023953aa"><td class="memItemLeft" align="right" valign="top"><a id="a63e9d9ee61900d1c7e6c7d0e023953aa"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a63e9d9ee61900d1c7e6c7d0e023953aa">model_nv</a></td></tr>
<tr class="memdesc:a63e9d9ee61900d1c7e6c7d0e023953aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">size of the system generalized coordinate dq <br /></td></tr>
<tr class="separator:a63e9d9ee61900d1c7e6c7d0e023953aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89bb360d72ea2ceb80bcc714427978a1"><td class="memItemLeft" align="right" valign="top"><a id="a89bb360d72ea2ceb80bcc714427978a1"></a>
Eigen::Vector3d&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a89bb360d72ea2ceb80bcc714427978a1">tau_upp_L</a></td></tr>
<tr class="memdesc:a89bb360d72ea2ceb80bcc714427978a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">upper bound of ground reaction moment <br /></td></tr>
<tr class="separator:a89bb360d72ea2ceb80bcc714427978a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad031c3a10312ef84c6f587a80cf7ea16"><td class="memItemLeft" align="right" valign="top"><a id="ad031c3a10312ef84c6f587a80cf7ea16"></a>
Eigen::Vector3d&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#ad031c3a10312ef84c6f587a80cf7ea16">tau_low_L</a></td></tr>
<tr class="memdesc:ad031c3a10312ef84c6f587a80cf7ea16"><td class="mdescLeft">&#160;</td><td class="mdescRight">lower bound of ground reaction moment <br /></td></tr>
<tr class="separator:ad031c3a10312ef84c6f587a80cf7ea16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a835eb7c5c5a382770ec08294bb3a072b"><td class="memItemLeft" align="right" valign="top"><a id="a835eb7c5c5a382770ec08294bb3a072b"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a835eb7c5c5a382770ec08294bb3a072b">f_z_low</a> {0}</td></tr>
<tr class="memdesc:a835eb7c5c5a382770ec08294bb3a072b"><td class="mdescLeft">&#160;</td><td class="mdescRight">lower bound of ground reaction force along z-axis <br /></td></tr>
<tr class="separator:a835eb7c5c5a382770ec08294bb3a072b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43d29119681f29138bf209c027951505"><td class="memItemLeft" align="right" valign="top"><a id="a43d29119681f29138bf209c027951505"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a43d29119681f29138bf209c027951505">f_z_upp</a> {0}</td></tr>
<tr class="memdesc:a43d29119681f29138bf209c027951505"><td class="mdescLeft">&#160;</td><td class="mdescRight">upper bound of ground reaction force along z-axis <br /></td></tr>
<tr class="separator:a43d29119681f29138bf209c027951505"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3104af953a95b48eec6a05798f8b0110"><td class="memItemLeft" align="right" valign="top"><a id="a3104af953a95b48eec6a05798f8b0110"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a3104af953a95b48eec6a05798f8b0110">legStateCur</a></td></tr>
<tr class="memdesc:a3104af953a95b48eec6a05798f8b0110"><td class="mdescLeft">&#160;</td><td class="mdescRight">current leg swing or stance state <br /></td></tr>
<tr class="separator:a3104af953a95b48eec6a05798f8b0110"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cf4c0b317a325f1d8c751a8d2fa282c"><td class="memItemLeft" align="right" valign="top"><a id="a8cf4c0b317a325f1d8c751a8d2fa282c"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a8cf4c0b317a325f1d8c751a8d2fa282c">miu</a> {0.5}</td></tr>
<tr class="memdesc:a8cf4c0b317a325f1d8c751a8d2fa282c"><td class="mdescLeft">&#160;</td><td class="mdescRight">friction coefficient of model <br /></td></tr>
<tr class="separator:a8cf4c0b317a325f1d8c751a8d2fa282c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7fefdac3d147714609ce1bd15edf389"><td class="memItemLeft" align="right" valign="top"><a id="aa7fefdac3d147714609ce1bd15edf389"></a>
Eigen::MatrixXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#aa7fefdac3d147714609ce1bd15edf389">dyn_M</a></td></tr>
<tr class="memdesc:aa7fefdac3d147714609ce1bd15edf389"><td class="mdescLeft">&#160;</td><td class="mdescRight">dynamic parameters of the dynamic function M*ddq+C*dq+G=tau <br /></td></tr>
<tr class="separator:aa7fefdac3d147714609ce1bd15edf389"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9d3684eeccb5f31dcbd0068d2d3b130"><td class="memItemLeft" align="right" valign="top"><a id="ad9d3684eeccb5f31dcbd0068d2d3b130"></a>
Eigen::MatrixXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#ad9d3684eeccb5f31dcbd0068d2d3b130">dyn_M_inv</a></td></tr>
<tr class="memdesc:ad9d3684eeccb5f31dcbd0068d2d3b130"><td class="mdescLeft">&#160;</td><td class="mdescRight">inverse of dynamic parameter dyn_M <br /></td></tr>
<tr class="separator:ad9d3684eeccb5f31dcbd0068d2d3b130"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac567541e708cee14da44b5e1ff1cbd11"><td class="memItemLeft" align="right" valign="top"><a id="ac567541e708cee14da44b5e1ff1cbd11"></a>
Eigen::MatrixXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#ac567541e708cee14da44b5e1ff1cbd11">dyn_Ag</a></td></tr>
<tr class="memdesc:ac567541e708cee14da44b5e1ff1cbd11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Centroidal Momentum Matrix. <br /></td></tr>
<tr class="separator:ac567541e708cee14da44b5e1ff1cbd11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19c84ca7e1268b73b4de35426d026d1c"><td class="memItemLeft" align="right" valign="top"><a id="a19c84ca7e1268b73b4de35426d026d1c"></a>
Eigen::MatrixXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a19c84ca7e1268b73b4de35426d026d1c">dyn_dAg</a></td></tr>
<tr class="memdesc:a19c84ca7e1268b73b4de35426d026d1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Centroidal Momentum Matrix time variant. <br /></td></tr>
<tr class="separator:a19c84ca7e1268b73b4de35426d026d1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87e42205ecc21da740cd68dd97dfc53b"><td class="memItemLeft" align="right" valign="top"><a id="a87e42205ecc21da740cd68dd97dfc53b"></a>
Eigen::VectorXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a87e42205ecc21da740cd68dd97dfc53b">dyn_Non</a></td></tr>
<tr class="memdesc:a87e42205ecc21da740cd68dd97dfc53b"><td class="mdescLeft">&#160;</td><td class="mdescRight">dynamic parameters of the dynamic function M*ddq+C*dq+G=tau, dyn_Non=dyn_C*dq+dyn_G <br /></td></tr>
<tr class="separator:a87e42205ecc21da740cd68dd97dfc53b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03d1a9c1e92ed193b06b4606b3698d71"><td class="memItemLeft" align="right" valign="top"><a id="a03d1a9c1e92ed193b06b4606b3698d71"></a>
Eigen::MatrixXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a03d1a9c1e92ed193b06b4606b3698d71">Jc</a></td></tr>
<tr class="memdesc:a03d1a9c1e92ed193b06b4606b3698d71"><td class="mdescLeft">&#160;</td><td class="mdescRight">jacobian matrix of foot contact <br /></td></tr>
<tr class="separator:a03d1a9c1e92ed193b06b4606b3698d71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a690988c51a899e4ed196c80326efcba0"><td class="memItemLeft" align="right" valign="top"><a id="a690988c51a899e4ed196c80326efcba0"></a>
Eigen::MatrixXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a690988c51a899e4ed196c80326efcba0">dJc</a></td></tr>
<tr class="memdesc:a690988c51a899e4ed196c80326efcba0"><td class="mdescLeft">&#160;</td><td class="mdescRight">jacobian time variation matrix of foot contact <br /></td></tr>
<tr class="separator:a690988c51a899e4ed196c80326efcba0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a651f35f4a14fb2dfb41356d69dbaa9c5"><td class="memItemLeft" align="right" valign="top"><a id="a651f35f4a14fb2dfb41356d69dbaa9c5"></a>
Eigen::MatrixXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a651f35f4a14fb2dfb41356d69dbaa9c5">Jfe</a></td></tr>
<tr class="memdesc:a651f35f4a14fb2dfb41356d69dbaa9c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Jfe = [Jfe_L.transpose() Jfe_R.transpose()].transpose() <br /></td></tr>
<tr class="separator:a651f35f4a14fb2dfb41356d69dbaa9c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a364b8179d23d33e89296ad61e352a9db"><td class="memItemLeft" align="right" valign="top"><a id="a364b8179d23d33e89296ad61e352a9db"></a>
Eigen::MatrixXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a364b8179d23d33e89296ad61e352a9db">Jfe_L</a></td></tr>
<tr class="memdesc:a364b8179d23d33e89296ad61e352a9db"><td class="mdescLeft">&#160;</td><td class="mdescRight">jacobian matrix of left foot <br /></td></tr>
<tr class="separator:a364b8179d23d33e89296ad61e352a9db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac612a1dc22bf476a8e4fdb430e69eac1"><td class="memItemLeft" align="right" valign="top"><a id="ac612a1dc22bf476a8e4fdb430e69eac1"></a>
Eigen::MatrixXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#ac612a1dc22bf476a8e4fdb430e69eac1">Jfe_R</a></td></tr>
<tr class="memdesc:ac612a1dc22bf476a8e4fdb430e69eac1"><td class="mdescLeft">&#160;</td><td class="mdescRight">jacobian matrix of right foot <br /></td></tr>
<tr class="separator:ac612a1dc22bf476a8e4fdb430e69eac1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4278ea3aca9cc98c8c1ff411204e211"><td class="memItemLeft" align="right" valign="top"><a id="ad4278ea3aca9cc98c8c1ff411204e211"></a>
Eigen::MatrixXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#ad4278ea3aca9cc98c8c1ff411204e211">J_hd_l</a></td></tr>
<tr class="memdesc:ad4278ea3aca9cc98c8c1ff411204e211"><td class="mdescLeft">&#160;</td><td class="mdescRight">jacobian matrix of left hand <br /></td></tr>
<tr class="separator:ad4278ea3aca9cc98c8c1ff411204e211"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2950b524448c63af91ce7b713aec947"><td class="memItemLeft" align="right" valign="top"><a id="ab2950b524448c63af91ce7b713aec947"></a>
Eigen::MatrixXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#ab2950b524448c63af91ce7b713aec947">J_hd_r</a></td></tr>
<tr class="memdesc:ab2950b524448c63af91ce7b713aec947"><td class="mdescLeft">&#160;</td><td class="mdescRight">jacobian matrix of right hand <br /></td></tr>
<tr class="separator:ab2950b524448c63af91ce7b713aec947"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4912d86b01e6bb6b48e4f8ac60f24cce"><td class="memItemLeft" align="right" valign="top"><a id="a4912d86b01e6bb6b48e4f8ac60f24cce"></a>
Eigen::MatrixXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a4912d86b01e6bb6b48e4f8ac60f24cce">dJ_hd_l</a></td></tr>
<tr class="memdesc:a4912d86b01e6bb6b48e4f8ac60f24cce"><td class="mdescLeft">&#160;</td><td class="mdescRight">jacobian time variation matrix of left hand <br /></td></tr>
<tr class="separator:a4912d86b01e6bb6b48e4f8ac60f24cce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c7a80ed75a31dd24a2732852f12e4b1"><td class="memItemLeft" align="right" valign="top"><a id="a5c7a80ed75a31dd24a2732852f12e4b1"></a>
Eigen::MatrixXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a5c7a80ed75a31dd24a2732852f12e4b1">dJ_hd_r</a></td></tr>
<tr class="memdesc:a5c7a80ed75a31dd24a2732852f12e4b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">jacobian time variation matrix of right hand <br /></td></tr>
<tr class="separator:a5c7a80ed75a31dd24a2732852f12e4b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7a229982a7799821b343ba032621054"><td class="memItemLeft" align="right" valign="top"><a id="ae7a229982a7799821b343ba032621054"></a>
Eigen::MatrixXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#ae7a229982a7799821b343ba032621054">Jsw</a></td></tr>
<tr class="memdesc:ae7a229982a7799821b343ba032621054"><td class="mdescLeft">&#160;</td><td class="mdescRight">foot of swing leg Jacobian <br /></td></tr>
<tr class="separator:ae7a229982a7799821b343ba032621054"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad3ca89c91e596b1a89da5cbd65c1991"><td class="memItemLeft" align="right" valign="top"><a id="aad3ca89c91e596b1a89da5cbd65c1991"></a>
Eigen::MatrixXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#aad3ca89c91e596b1a89da5cbd65c1991">dJsw</a></td></tr>
<tr class="memdesc:aad3ca89c91e596b1a89da5cbd65c1991"><td class="mdescLeft">&#160;</td><td class="mdescRight">foot of swing leg Jacobian time variation <br /></td></tr>
<tr class="separator:aad3ca89c91e596b1a89da5cbd65c1991"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4440d37fa7fdd00e3b3a5df797d2271a"><td class="memItemLeft" align="right" valign="top"><a id="a4440d37fa7fdd00e3b3a5df797d2271a"></a>
Eigen::Matrix3d&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a4440d37fa7fdd00e3b3a5df797d2271a">fe_rot_sw_W</a></td></tr>
<tr class="memdesc:a4440d37fa7fdd00e3b3a5df797d2271a"><td class="mdescLeft">&#160;</td><td class="mdescRight">current swing foot rotation matrix in world frame <br /></td></tr>
<tr class="separator:a4440d37fa7fdd00e3b3a5df797d2271a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a605e33bf1886ad1fe93e120a984b5085"><td class="memItemLeft" align="right" valign="top"><a id="a605e33bf1886ad1fe93e120a984b5085"></a>
Eigen::Vector3d&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a605e33bf1886ad1fe93e120a984b5085">fe_pos_sw_W</a></td></tr>
<tr class="memdesc:a605e33bf1886ad1fe93e120a984b5085"><td class="mdescLeft">&#160;</td><td class="mdescRight">current swing foot position in world frame <br /></td></tr>
<tr class="separator:a605e33bf1886ad1fe93e120a984b5085"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab25e91d2356c16769cc18c9355338587"><td class="memItemLeft" align="right" valign="top"><a id="ab25e91d2356c16769cc18c9355338587"></a>
Eigen::Vector3d&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#ab25e91d2356c16769cc18c9355338587">hd_l_pos_cur_W</a></td></tr>
<tr class="memdesc:ab25e91d2356c16769cc18c9355338587"><td class="mdescLeft">&#160;</td><td class="mdescRight">current left hand position in world frame <br /></td></tr>
<tr class="separator:ab25e91d2356c16769cc18c9355338587"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada612b26865fc9a977e6cecaa813c6a4"><td class="memItemLeft" align="right" valign="top"><a id="ada612b26865fc9a977e6cecaa813c6a4"></a>
Eigen::Vector3d&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#ada612b26865fc9a977e6cecaa813c6a4">hd_r_pos_cur_W</a></td></tr>
<tr class="memdesc:ada612b26865fc9a977e6cecaa813c6a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">current right hand position in world frame <br /></td></tr>
<tr class="separator:ada612b26865fc9a977e6cecaa813c6a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a377b89be889b9a1d221e041ec6621f0a"><td class="memItemLeft" align="right" valign="top"><a id="a377b89be889b9a1d221e041ec6621f0a"></a>
Eigen::Matrix3d&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a377b89be889b9a1d221e041ec6621f0a">hd_l_rot_cur_W</a></td></tr>
<tr class="memdesc:a377b89be889b9a1d221e041ec6621f0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">current left hand rotation matrix in world frame <br /></td></tr>
<tr class="separator:a377b89be889b9a1d221e041ec6621f0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a380db2c47e2752ebebe6aab083051f4f"><td class="memItemLeft" align="right" valign="top"><a id="a380db2c47e2752ebebe6aab083051f4f"></a>
Eigen::Matrix3d&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a380db2c47e2752ebebe6aab083051f4f">hd_r_rot_cur_W</a></td></tr>
<tr class="memdesc:a380db2c47e2752ebebe6aab083051f4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">current right hand rotation matrix in world frame <br /></td></tr>
<tr class="separator:a380db2c47e2752ebebe6aab083051f4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f55ea86d606fb254b0b743161ff6fff"><td class="memItemLeft" align="right" valign="top"><a id="a4f55ea86d606fb254b0b743161ff6fff"></a>
Eigen::VectorXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a4f55ea86d606fb254b0b743161ff6fff">q</a></td></tr>
<tr class="memdesc:a4f55ea86d606fb254b0b743161ff6fff"><td class="mdescLeft">&#160;</td><td class="mdescRight">current robot generalized position <br /></td></tr>
<tr class="separator:a4f55ea86d606fb254b0b743161ff6fff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b1444c9875e783ffff14fbbc73a3fc0"><td class="memItemLeft" align="right" valign="top"><a id="a8b1444c9875e783ffff14fbbc73a3fc0"></a>
Eigen::VectorXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a8b1444c9875e783ffff14fbbc73a3fc0">dq</a></td></tr>
<tr class="memdesc:a8b1444c9875e783ffff14fbbc73a3fc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">current robot generalized velcity <br /></td></tr>
<tr class="separator:a8b1444c9875e783ffff14fbbc73a3fc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adacd4ee75f80b37e9fb0779bf9cf98a7"><td class="memItemLeft" align="right" valign="top"><a id="adacd4ee75f80b37e9fb0779bf9cf98a7"></a>
Eigen::VectorXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#adacd4ee75f80b37e9fb0779bf9cf98a7">ddq</a></td></tr>
<tr class="memdesc:adacd4ee75f80b37e9fb0779bf9cf98a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">current robot generalized acceleration <br /></td></tr>
<tr class="separator:adacd4ee75f80b37e9fb0779bf9cf98a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af15ff64b154c8ae1d4567cca12ce01db"><td class="memItemLeft" align="right" valign="top"><a id="af15ff64b154c8ae1d4567cca12ce01db"></a>
Eigen::VectorXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#af15ff64b154c8ae1d4567cca12ce01db">Fr_ff</a></td></tr>
<tr class="memdesc:af15ff64b154c8ae1d4567cca12ce01db"><td class="mdescLeft">&#160;</td><td class="mdescRight">feedforward ground reaction force from <a class="el" href="classMPC.html" title="This class implements the model predictive controller.">MPC</a> module, Fr_ff = [fe_L, fe_R], dim = 12*1 <br /></td></tr>
<tr class="separator:af15ff64b154c8ae1d4567cca12ce01db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a328bcfe2189e0f4e6242db7fc945ee06"><td class="memItemLeft" align="right" valign="top"><a id="a328bcfe2189e0f4e6242db7fc945ee06"></a>
Eigen::VectorXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a328bcfe2189e0f4e6242db7fc945ee06">delta_ddq</a></td></tr>
<tr class="memdesc:a328bcfe2189e0f4e6242db7fc945ee06"><td class="mdescLeft">&#160;</td><td class="mdescRight">delta_ddq to correction in DynWBC, NOT USE <br /></td></tr>
<tr class="separator:a328bcfe2189e0f4e6242db7fc945ee06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29eb5f45b965f751d8c21983313744b3"><td class="memItemLeft" align="right" valign="top"><a id="a29eb5f45b965f751d8c21983313744b3"></a>
Eigen::VectorXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a29eb5f45b965f751d8c21983313744b3">delta_Fr</a></td></tr>
<tr class="memdesc:a29eb5f45b965f751d8c21983313744b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">delta_Fr to correction in DynWBC, NOT USE <br /></td></tr>
<tr class="separator:a29eb5f45b965f751d8c21983313744b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adebd8b10447a44efc435f34d2b9d5a0d"><td class="memItemLeft" align="right" valign="top"><a id="adebd8b10447a44efc435f34d2b9d5a0d"></a>
Eigen::VectorXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#adebd8b10447a44efc435f34d2b9d5a0d">eigen_xOpt</a></td></tr>
<tr class="memdesc:adebd8b10447a44efc435f34d2b9d5a0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">optimized x = [ddq, fr] in DynWBC <br /></td></tr>
<tr class="separator:adebd8b10447a44efc435f34d2b9d5a0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7c5607f6d6a468b81cf035396ee1885"><td class="memItemLeft" align="right" valign="top"><a id="ad7c5607f6d6a468b81cf035396ee1885"></a>
Eigen::VectorXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#ad7c5607f6d6a468b81cf035396ee1885">eigen_ddq_Opt</a></td></tr>
<tr class="memdesc:ad7c5607f6d6a468b81cf035396ee1885"><td class="mdescLeft">&#160;</td><td class="mdescRight">final ddq after DynWBC <br /></td></tr>
<tr class="separator:ad7c5607f6d6a468b81cf035396ee1885"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cfc5cc63af24a7e8d04f4ef360ba20e"><td class="memItemLeft" align="right" valign="top"><a id="a0cfc5cc63af24a7e8d04f4ef360ba20e"></a>
Eigen::VectorXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a0cfc5cc63af24a7e8d04f4ef360ba20e">eigen_fr_Opt</a></td></tr>
<tr class="memdesc:a0cfc5cc63af24a7e8d04f4ef360ba20e"><td class="mdescLeft">&#160;</td><td class="mdescRight">final reaction force of two legs after DynWBC <br /></td></tr>
<tr class="separator:a0cfc5cc63af24a7e8d04f4ef360ba20e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78ee8266d45373be050708733b7ac928"><td class="memItemLeft" align="right" valign="top"><a id="a78ee8266d45373be050708733b7ac928"></a>
Eigen::VectorXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a78ee8266d45373be050708733b7ac928">eigen_tau_Opt</a></td></tr>
<tr class="memdesc:a78ee8266d45373be050708733b7ac928"><td class="mdescLeft">&#160;</td><td class="mdescRight">final joint torques after DynWBC <br /></td></tr>
<tr class="separator:a78ee8266d45373be050708733b7ac928"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7eb60ca2fb34b7bcd10f488384e7a95"><td class="memItemLeft" align="right" valign="top"><a id="af7eb60ca2fb34b7bcd10f488384e7a95"></a>
Eigen::MatrixXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#af7eb60ca2fb34b7bcd10f488384e7a95">Q1</a></td></tr>
<tr class="memdesc:af7eb60ca2fb34b7bcd10f488384e7a95"><td class="mdescLeft">&#160;</td><td class="mdescRight">weighted matrix of GRF and GRM in QP <br /></td></tr>
<tr class="separator:af7eb60ca2fb34b7bcd10f488384e7a95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24cd63af227e80cfabfa7f9265a8270d"><td class="memItemLeft" align="right" valign="top"><a id="a24cd63af227e80cfabfa7f9265a8270d"></a>
Eigen::MatrixXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a24cd63af227e80cfabfa7f9265a8270d">Q2</a></td></tr>
<tr class="memdesc:a24cd63af227e80cfabfa7f9265a8270d"><td class="mdescLeft">&#160;</td><td class="mdescRight">weithted matrix of ddq in QP <br /></td></tr>
<tr class="separator:a24cd63af227e80cfabfa7f9265a8270d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a071214fcca162d0a68d66b7eda3d5a77"><td class="memItemLeft" align="right" valign="top"><a id="a071214fcca162d0a68d66b7eda3d5a77"></a>
Eigen::VectorXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a071214fcca162d0a68d66b7eda3d5a77">delta_q_final_kin</a></td></tr>
<tr class="memdesc:a071214fcca162d0a68d66b7eda3d5a77"><td class="mdescLeft">&#160;</td><td class="mdescRight">delta_q result from KinWBC <br /></td></tr>
<tr class="separator:a071214fcca162d0a68d66b7eda3d5a77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a353a58b77c7d3844899a08eccfdc9630"><td class="memItemLeft" align="right" valign="top"><a id="a353a58b77c7d3844899a08eccfdc9630"></a>
Eigen::VectorXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a353a58b77c7d3844899a08eccfdc9630">dq_final_kin</a></td></tr>
<tr class="memdesc:a353a58b77c7d3844899a08eccfdc9630"><td class="mdescLeft">&#160;</td><td class="mdescRight">dq result from KinWBC <br /></td></tr>
<tr class="separator:a353a58b77c7d3844899a08eccfdc9630"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a914f1b2e9a0c441a6dab2883e5e932a2"><td class="memItemLeft" align="right" valign="top"><a id="a914f1b2e9a0c441a6dab2883e5e932a2"></a>
Eigen::VectorXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a914f1b2e9a0c441a6dab2883e5e932a2">ddq_final_kin</a></td></tr>
<tr class="memdesc:a914f1b2e9a0c441a6dab2883e5e932a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">ddq result from KinWBC <br /></td></tr>
<tr class="separator:a914f1b2e9a0c441a6dab2883e5e932a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1193aad27a9cafd2b447a91fcb252103"><td class="memItemLeft" align="right" valign="top"><a id="a1193aad27a9cafd2b447a91fcb252103"></a>
Eigen::VectorXd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a1193aad27a9cafd2b447a91fcb252103">tauJointRes</a></td></tr>
<tr class="memdesc:a1193aad27a9cafd2b447a91fcb252103"><td class="mdescLeft">&#160;</td><td class="mdescRight">joint torques result from KinWBC <br /></td></tr>
<tr class="separator:a1193aad27a9cafd2b447a91fcb252103"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a783f18f6fb7fdde9d0a098adc816bf44"><td class="memItemLeft" align="right" valign="top"><a id="a783f18f6fb7fdde9d0a098adc816bf44"></a>
Eigen::Matrix3d&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a783f18f6fb7fdde9d0a098adc816bf44">fe_L_rot_L_off</a></td></tr>
<tr class="memdesc:a783f18f6fb7fdde9d0a098adc816bf44"><td class="mdescLeft">&#160;</td><td class="mdescRight">left foot-end rotation matrix w.r.t to the body frame in offset posture <br /></td></tr>
<tr class="separator:a783f18f6fb7fdde9d0a098adc816bf44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a480a21e54d4f6d9ce948eaf92c7e6ea4"><td class="memItemLeft" align="right" valign="top"><a id="a480a21e54d4f6d9ce948eaf92c7e6ea4"></a>
Eigen::Matrix3d&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a480a21e54d4f6d9ce948eaf92c7e6ea4">fe_R_rot_L_off</a></td></tr>
<tr class="memdesc:a480a21e54d4f6d9ce948eaf92c7e6ea4"><td class="mdescLeft">&#160;</td><td class="mdescRight">right foot-end rotation matrix w.r.t to the body frame in offset posture <br /></td></tr>
<tr class="separator:a480a21e54d4f6d9ce948eaf92c7e6ea4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16c781d380edf8222b2e38225a941bf1"><td class="memItemLeft" align="right" valign="top"><a id="a16c781d380edf8222b2e38225a941bf1"></a>
<a class="el" href="classPriorityTasks.html">PriorityTasks</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWBC__priority.html#a16c781d380edf8222b2e38225a941bf1">kin_tasks</a></td></tr>
<tr class="memdesc:a16c781d380edf8222b2e38225a941bf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">kinematic tasks with priority for KinWBC <br /></td></tr>
<tr class="separator:a16c781d380edf8222b2e38225a941bf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This class implements a whole body controller with priority control. </p>

<p class="definition">Definition at line <a class="el" href="wbc__priority_8h_source.html#l00024">24</a> of file <a class="el" href="wbc__priority_8h_source.html">wbc_priority.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a8c838694a7fa3038bb56923679050bea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c838694a7fa3038bb56923679050bea">&#9670;&nbsp;</a></span>WBC_priority()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">WBC_priority::WBC_priority </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>model_nv_In</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>QP_nvIn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>QP_ncIn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>miu_In</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>dt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Construct a new wbc priority object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">model_nv_In</td><td>model degree of freedom </td></tr>
    <tr><td class="paramname">QP_nvIn</td><td>dimension of optimized variable of WBC QP problem </td></tr>
    <tr><td class="paramname">QP_ncIn</td><td>dimension of constraints of WBC QP problem </td></tr>
    <tr><td class="paramname">miu_In</td><td>friction coefficient of model </td></tr>
    <tr><td class="paramname">dt</td><td>control horizon </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="wbc__priority_8cpp_source.html#l00012">12</a> of file <a class="el" href="wbc__priority_8cpp_source.html">wbc_priority.cpp</a>.</p>

<p class="reference">References <a class="el" href="priority__tasks_8cpp_source.html#l00010">PriorityTasks::addTask()</a>, <a class="el" href="priority__tasks_8cpp_source.html#l00035">PriorityTasks::buildPriority()</a>, <a class="el" href="wbc__priority_8h_source.html#l00081">ddq_final_kin</a>, <a class="el" href="wbc__priority_8h_source.html#l00079">delta_q_final_kin</a>, <a class="el" href="wbc__priority_8h_source.html#l00080">dq_final_kin</a>, <a class="el" href="wbc__priority_8h_source.html#l00074">eigen_ddq_Opt</a>, <a class="el" href="wbc__priority_8h_source.html#l00075">eigen_fr_Opt</a>, <a class="el" href="wbc__priority_8h_source.html#l00076">eigen_tau_Opt</a>, <a class="el" href="wbc__priority_8h_source.html#l00073">eigen_xOpt</a>, <a class="el" href="wbc__priority_8h_source.html#l00030">f_z_low</a>, <a class="el" href="wbc__priority_8h_source.html#l00031">f_z_upp</a>, <a class="el" href="wbc__priority_8h_source.html#l00085">kin_tasks</a>, <a class="el" href="wbc__priority_8h_source.html#l00044">miu</a>, <a class="el" href="wbc__priority_8h_source.html#l00027">model_nv</a>, <a class="el" href="wbc__priority_8h_source.html#l00029">tau_low_L</a>, and <a class="el" href="wbc__priority_8h_source.html#l00028">tau_upp_L</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a7cb65e689671b04b1b4bca685602abaa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7cb65e689671b04b1b4bca685602abaa">&#9670;&nbsp;</a></span>computeDdq()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WBC_priority::computeDdq </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classPin__KinDyn.html">Pin_KinDyn</a> &amp;&#160;</td>
          <td class="paramname"><em>kinSolver</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>compute the desired dq, basically the KinWBC </p>

<p class="definition">Definition at line <a class="el" href="wbc__priority_8cpp_source.html#l00287">287</a> of file <a class="el" href="wbc__priority_8cpp_source.html">wbc_priority.cpp</a>.</p>

<p class="reference">References <a class="el" href="priority__tasks_8cpp_source.html#l00066">PriorityTasks::computeAll()</a>, <a class="el" href="pino__kin__dyn_8cpp_source.html#l00334">Pin_KinDyn::computeInK_Hand()</a>, <a class="el" href="wbc__priority_8h_source.html#l00081">ddq_final_kin</a>, <a class="el" href="wbc__priority_8h_source.html#l00079">delta_q_final_kin</a>, <a class="el" href="wbc__priority_8h_source.html#l00057">dJ_hd_l</a>, <a class="el" href="wbc__priority_8h_source.html#l00058">dJ_hd_r</a>, <a class="el" href="wbc__priority_8h_source.html#l00051">dJc</a>, <a class="el" href="wbc__priority_8h_source.html#l00060">dJsw</a>, <a class="el" href="wbc__priority_8h_source.html#l00068">dq</a>, <a class="el" href="wbc__priority_8h_source.html#l00080">dq_final_kin</a>, <a class="el" href="wbc__priority_8h_source.html#l00045">dyn_M</a>, <a class="el" href="wbc__priority_8h_source.html#l00046">dyn_M_inv</a>, <a class="el" href="wbc__priority_8h_source.html#l00062">fe_pos_sw_W</a>, <a class="el" href="wbc__priority_8h_source.html#l00061">fe_rot_sw_W</a>, <a class="el" href="priority__tasks_8cpp_source.html#l00016">PriorityTasks::getId()</a>, <a class="el" href="wbc__priority_8h_source.html#l00063">hd_l_pos_cur_W</a>, <a class="el" href="wbc__priority_8h_source.html#l00065">hd_l_rot_cur_W</a>, <a class="el" href="wbc__priority_8h_source.html#l00064">hd_r_pos_cur_W</a>, <a class="el" href="wbc__priority_8h_source.html#l00066">hd_r_rot_cur_W</a>, <a class="el" href="wbc__priority_8h_source.html#l00055">J_hd_l</a>, <a class="el" href="wbc__priority_8h_source.html#l00056">J_hd_r</a>, <a class="el" href="wbc__priority_8h_source.html#l00050">Jc</a>, <a class="el" href="wbc__priority_8h_source.html#l00059">Jsw</a>, <a class="el" href="wbc__priority_8h_source.html#l00085">kin_tasks</a>, <a class="el" href="wbc__priority_8h_source.html#l00027">model_nv</a>, <a class="el" href="priority__tasks_8h_source.html#l00058">PriorityTasks::out_ddq</a>, <a class="el" href="priority__tasks_8h_source.html#l00056">PriorityTasks::out_delta_q</a>, <a class="el" href="priority__tasks_8h_source.html#l00057">PriorityTasks::out_dq</a>, <a class="el" href="wbc__priority_8h_source.html#l00067">q</a>, and <a class="el" href="priority__tasks_8h_source.html#l00051">PriorityTasks::taskLib</a>.</p>

</div>
</div>
<a id="adf9a6a3385417332666e2157b6903fe9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adf9a6a3385417332666e2157b6903fe9">&#9670;&nbsp;</a></span>computeTau()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WBC_priority::computeTau </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>compute the desired joint torques, basically the DynWBC </p>

<p class="definition">Definition at line <a class="el" href="wbc__priority_8cpp_source.html#l00151">151</a> of file <a class="el" href="wbc__priority_8cpp_source.html">wbc_priority.cpp</a>.</p>

<p class="reference">References <a class="el" href="wbc__priority_8h_source.html#l00081">ddq_final_kin</a>, <a class="el" href="wbc__priority_8h_source.html#l00045">dyn_M</a>, <a class="el" href="wbc__priority_8h_source.html#l00049">dyn_Non</a>, <a class="el" href="wbc__priority_8h_source.html#l00074">eigen_ddq_Opt</a>, <a class="el" href="wbc__priority_8h_source.html#l00075">eigen_fr_Opt</a>, <a class="el" href="wbc__priority_8h_source.html#l00073">eigen_xOpt</a>, <a class="el" href="wbc__priority_8h_source.html#l00030">f_z_low</a>, <a class="el" href="wbc__priority_8h_source.html#l00031">f_z_upp</a>, <a class="el" href="wbc__priority_8h_source.html#l00083">fe_L_rot_L_off</a>, <a class="el" href="wbc__priority_8h_source.html#l00070">Fr_ff</a>, <a class="el" href="wbc__priority_8h_source.html#l00052">Jfe</a>, <a class="el" href="wbc__priority_8h_source.html#l00032">legStateCur</a>, <a class="el" href="data__bus_8h_source.html#l00166">DataBus::LSt</a>, <a class="el" href="wbc__priority_8h_source.html#l00044">miu</a>, <a class="el" href="wbc__priority_8h_source.html#l00027">model_nv</a>, <a class="el" href="wbc__priority_8h_source.html#l00077">Q1</a>, <a class="el" href="wbc__priority_8h_source.html#l00078">Q2</a>, <a class="el" href="wbc__priority_8h_source.html#l00029">tau_low_L</a>, <a class="el" href="wbc__priority_8h_source.html#l00028">tau_upp_L</a>, and <a class="el" href="wbc__priority_8h_source.html#l00082">tauJointRes</a>.</p>

</div>
</div>
<a id="a7ed27e44e3d0044570620d3679f26389"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ed27e44e3d0044570620d3679f26389">&#9670;&nbsp;</a></span>dataBusRead()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WBC_priority::dataBusRead </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structDataBus.html">DataBus</a> &amp;&#160;</td>
          <td class="paramname"><em>robotState</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>read data from databus </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">robotState</td><td></td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="wbc__priority_8cpp_source.html#l00073">73</a> of file <a class="el" href="wbc__priority_8cpp_source.html">wbc_priority.cpp</a>.</p>

<p class="reference">References <a class="el" href="data__bus_8h_source.html#l00066">DataBus::base_pos</a>, <a class="el" href="data__bus_8h_source.html#l00130">DataBus::base_pos_des</a>, <a class="el" href="data__bus_8h_source.html#l00069">DataBus::base_rot</a>, <a class="el" href="data__bus_8h_source.html#l00129">DataBus::base_rpy_des</a>, <a class="el" href="data__bus_8h_source.html#l00131">DataBus::des_ddq</a>, <a class="el" href="data__bus_8h_source.html#l00133">DataBus::des_delta_q</a>, <a class="el" href="data__bus_8h_source.html#l00132">DataBus::des_dq</a>, <a class="el" href="data__bus_8h_source.html#l00134">DataBus::des_q</a>, <a class="el" href="data__bus_8h_source.html#l00059">DataBus::dJ_base</a>, <a class="el" href="wbc__priority_8h_source.html#l00057">dJ_hd_l</a>, <a class="el" href="wbc__priority_8h_source.html#l00058">dJ_hd_r</a>, <a class="el" href="data__bus_8h_source.html#l00060">DataBus::dJ_l</a>, <a class="el" href="data__bus_8h_source.html#l00061">DataBus::dJ_r</a>, <a class="el" href="wbc__priority_8h_source.html#l00051">dJc</a>, <a class="el" href="wbc__priority_8h_source.html#l00060">dJsw</a>, <a class="el" href="data__bus_8h_source.html#l00051">DataBus::dq</a>, <a class="el" href="wbc__priority_8h_source.html#l00068">dq</a>, <a class="el" href="wbc__priority_8h_source.html#l00047">dyn_Ag</a>, <a class="el" href="data__bus_8h_source.html#l00097">DataBus::dyn_Ag</a>, <a class="el" href="wbc__priority_8h_source.html#l00048">dyn_dAg</a>, <a class="el" href="data__bus_8h_source.html#l00098">DataBus::dyn_dAg</a>, <a class="el" href="wbc__priority_8h_source.html#l00045">dyn_M</a>, <a class="el" href="data__bus_8h_source.html#l00094">DataBus::dyn_M</a>, <a class="el" href="wbc__priority_8h_source.html#l00046">dyn_M_inv</a>, <a class="el" href="data__bus_8h_source.html#l00095">DataBus::dyn_M_inv</a>, <a class="el" href="wbc__priority_8h_source.html#l00049">dyn_Non</a>, <a class="el" href="data__bus_8h_source.html#l00100">DataBus::dyn_Non</a>, <a class="el" href="data__bus_8h_source.html#l00065">DataBus::fe_l_pos_W</a>, <a class="el" href="data__bus_8h_source.html#l00026">DataBus::fe_L_rot_L_off</a>, <a class="el" href="wbc__priority_8h_source.html#l00083">fe_L_rot_L_off</a>, <a class="el" href="data__bus_8h_source.html#l00068">DataBus::fe_l_rot_W</a>, <a class="el" href="wbc__priority_8h_source.html#l00062">fe_pos_sw_W</a>, <a class="el" href="data__bus_8h_source.html#l00064">DataBus::fe_r_pos_W</a>, <a class="el" href="data__bus_8h_source.html#l00027">DataBus::fe_R_rot_L_off</a>, <a class="el" href="wbc__priority_8h_source.html#l00084">fe_R_rot_L_off</a>, <a class="el" href="data__bus_8h_source.html#l00067">DataBus::fe_r_rot_W</a>, <a class="el" href="wbc__priority_8h_source.html#l00061">fe_rot_sw_W</a>, <a class="el" href="wbc__priority_8h_source.html#l00070">Fr_ff</a>, <a class="el" href="data__bus_8h_source.html#l00144">DataBus::Fr_ff</a>, <a class="el" href="wbc__priority_8h_source.html#l00063">hd_l_pos_cur_W</a>, <a class="el" href="data__bus_8h_source.html#l00084">DataBus::hd_l_pos_W</a>, <a class="el" href="wbc__priority_8h_source.html#l00065">hd_l_rot_cur_W</a>, <a class="el" href="data__bus_8h_source.html#l00086">DataBus::hd_l_rot_W</a>, <a class="el" href="wbc__priority_8h_source.html#l00064">hd_r_pos_cur_W</a>, <a class="el" href="data__bus_8h_source.html#l00083">DataBus::hd_r_pos_W</a>, <a class="el" href="wbc__priority_8h_source.html#l00066">hd_r_rot_cur_W</a>, <a class="el" href="data__bus_8h_source.html#l00085">DataBus::hd_r_rot_W</a>, <a class="el" href="data__bus_8h_source.html#l00054">DataBus::J_base</a>, <a class="el" href="wbc__priority_8h_source.html#l00055">J_hd_l</a>, <a class="el" href="data__bus_8h_source.html#l00057">DataBus::J_hd_l</a>, <a class="el" href="wbc__priority_8h_source.html#l00056">J_hd_r</a>, <a class="el" href="data__bus_8h_source.html#l00058">DataBus::J_hd_r</a>, <a class="el" href="data__bus_8h_source.html#l00055">DataBus::J_l</a>, <a class="el" href="data__bus_8h_source.html#l00056">DataBus::J_r</a>, <a class="el" href="wbc__priority_8h_source.html#l00050">Jc</a>, <a class="el" href="wbc__priority_8h_source.html#l00052">Jfe</a>, <a class="el" href="wbc__priority_8h_source.html#l00059">Jsw</a>, <a class="el" href="data__bus_8h_source.html#l00172">DataBus::legState</a>, <a class="el" href="wbc__priority_8h_source.html#l00032">legStateCur</a>, <a class="el" href="data__bus_8h_source.html#l00166">DataBus::LSt</a>, <a class="el" href="wbc__priority_8h_source.html#l00027">model_nv</a>, <a class="el" href="data__bus_8h_source.html#l00050">DataBus::q</a>, <a class="el" href="wbc__priority_8h_source.html#l00067">q</a>, <a class="el" href="data__bus_8h_source.html#l00030">DataBus::rpy</a>, <a class="el" href="data__bus_8h_source.html#l00137">DataBus::stance_fe_pos_cur_W</a>, <a class="el" href="data__bus_8h_source.html#l00138">DataBus::stance_fe_rot_cur_W</a>, <a class="el" href="data__bus_8h_source.html#l00152">DataBus::stanceDesPos_W</a>, <a class="el" href="data__bus_8h_source.html#l00135">DataBus::swing_fe_pos_des_W</a>, and <a class="el" href="data__bus_8h_source.html#l00136">DataBus::swing_fe_rpy_des_W</a>.</p>

</div>
</div>
<a id="a1504c45533bea5c9b6a4a87648db0c0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1504c45533bea5c9b6a4a87648db0c0c">&#9670;&nbsp;</a></span>dataBusWrite()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WBC_priority::dataBusWrite </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDataBus.html">DataBus</a> &amp;&#160;</td>
          <td class="paramname"><em>robotState</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>write data to databus </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">robotState</td><td></td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="wbc__priority_8cpp_source.html#l00138">138</a> of file <a class="el" href="wbc__priority_8cpp_source.html">wbc_priority.cpp</a>.</p>

<p class="reference">References <a class="el" href="wbc__priority_8h_source.html#l00081">ddq_final_kin</a>, <a class="el" href="wbc__priority_8h_source.html#l00079">delta_q_final_kin</a>, <a class="el" href="wbc__priority_8h_source.html#l00080">dq_final_kin</a>, <a class="el" href="wbc__priority_8h_source.html#l00075">eigen_fr_Opt</a>, <a class="el" href="data__bus_8h_source.html#l00146">DataBus::qp_cpuTime</a>, <a class="el" href="data__bus_8h_source.html#l00145">DataBus::qp_nWSR</a>, <a class="el" href="data__bus_8h_source.html#l00147">DataBus::qp_status</a>, <a class="el" href="wbc__priority_8h_source.html#l00082">tauJointRes</a>, <a class="el" href="data__bus_8h_source.html#l00141">DataBus::wbc_ddq_final</a>, <a class="el" href="data__bus_8h_source.html#l00139">DataBus::wbc_delta_q_final</a>, <a class="el" href="data__bus_8h_source.html#l00140">DataBus::wbc_dq_final</a>, <a class="el" href="data__bus_8h_source.html#l00143">DataBus::wbc_FrRes</a>, and <a class="el" href="data__bus_8h_source.html#l00142">DataBus::wbc_tauJointRes</a>.</p>

</div>
</div>
<a id="ad7a8bfff2aa05dcedeb6e3e656d3c6fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7a8bfff2aa05dcedeb6e3e656d3c6fd">&#9670;&nbsp;</a></span>setQini()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WBC_priority::setQini </td>
          <td>(</td>
          <td class="paramtype">const Eigen::VectorXd &amp;&#160;</td>
          <td class="paramname"><em>qIni</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the initial generalized position of robot. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">qIni</td><td>initial generalized position of robot </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="wbc__priority_8cpp_source.html#l00496">496</a> of file <a class="el" href="wbc__priority_8cpp_source.html">wbc_priority.cpp</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="wbc__priority_8h_source.html">wbc_priority.h</a></li>
<li><a class="el" href="wbc__priority_8cpp_source.html">wbc_priority.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
